package com.fjnu.fjnu_grade_demo.moudle.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;

@Repository
@TableName("student_total_grade")
public class StudentTotalGrade {

    @TableId(value = "id" ,type = IdType.AUTO)
    private Integer id;

    private Integer courseCount;

    private BigDecimal arithmeticAvg;

    private Integer arithmeticAvgRank;

    private BigDecimal weightedAvg;

    private Integer weightedAvgRank;

    private BigDecimal avgGpa;

    private Integer avgGpaRank;

    private BigDecimal creditGpa;

    private Integer creditGpaRank;

    private Integer failedCourseCount;

    private String userName;

    private String academicYear;

    private String semester;
    private String studentId;

    // Constructors

    public String getStudentId() {
        return studentId;
    }

    public void setStudentId(String studentId) {
        this.studentId = studentId;
    }

    public StudentTotalGrade() {}

    // Getters and Setters
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getCourseCount() {
        return courseCount;
    }

    public void setCourseCount(Integer courseCount) {
        this.courseCount = courseCount;
    }

    public BigDecimal getArithmeticAvg() {
        return arithmeticAvg;
    }

    public void setArithmeticAvg(BigDecimal arithmeticAvg) {
        this.arithmeticAvg = arithmeticAvg;
    }

    public Integer getArithmeticAvgRank() {
        return arithmeticAvgRank;
    }

    public void setArithmeticAvgRank(Integer arithmeticAvgRank) {
        this.arithmeticAvgRank = arithmeticAvgRank;
    }

    public BigDecimal getWeightedAvg() {
        return weightedAvg;
    }

    public void setWeightedAvg(BigDecimal weightedAvg) {
        this.weightedAvg = weightedAvg;
    }

    public Integer getWeightedAvgRank() {
        return weightedAvgRank;
    }

    public void setWeightedAvgRank(Integer weightedAvgRank) {
        this.weightedAvgRank = weightedAvgRank;
    }

    public BigDecimal getAvgGpa() {
        return avgGpa;
    }

    public void setAvgGpa(BigDecimal avgGpa) {
        this.avgGpa = avgGpa;
    }

    public Integer getAvgGpaRank() {
        return avgGpaRank;
    }

    public void setAvgGpaRank(Integer avgGpaRank) {
        this.avgGpaRank = avgGpaRank;
    }

    public BigDecimal getCreditGpa() {
        return creditGpa;
    }

    public void setCreditGpa(BigDecimal creditGpa) {
        this.creditGpa = creditGpa;
    }

    public Integer getCreditGpaRank() {
        return creditGpaRank;
    }

    public void setCreditGpaRank(Integer creditGpaRank) {
        this.creditGpaRank = creditGpaRank;
    }

    public Integer getFailedCourseCount() {
        return failedCourseCount;
    }

    public void setFailedCourseCount(Integer failedCourseCount) {
        this.failedCourseCount = failedCourseCount;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getAcademicYear() {
        return academicYear;
    }

    public void setAcademicYear(String academicYear) {
        this.academicYear = academicYear;
    }

    public String getSemester() {
        return semester;
    }

    public void setSemester(String semester) {
        this.semester = semester;
    }

    @Override
    public String toString() {
        return "StudentTotalGrade{" +
                "id=" + id +
                ", courseCount=" + courseCount +
                ", arithmeticAvg=" + arithmeticAvg +
                ", arithmeticAvgRank=" + arithmeticAvgRank +
                ", weightedAvg=" + weightedAvg +
                ", weightedAvgRank=" + weightedAvgRank +
                ", avgGpa=" + avgGpa +
                ", avgGpaRank=" + avgGpaRank +
                ", creditGpa=" + creditGpa +
                ", creditGpaRank=" + creditGpaRank +
                ", failedCourseCount=" + failedCourseCount +
                ", userName='" + userName + '\'' +
                ", academicYear='" + academicYear + '\'' +
                ", semester='" + semester + '\'' +
                ", studentId='" + studentId + '\'' +
                '}';
    }
}